import { defineConfig, loadEnv } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
import eslintPlugin from 'vite-plugin-eslint'

// https://vitejs.dev/config/
export default defineConfig(({ command, mode }) => {
	const env = loadEnv(mode, process.cwd(), '')
	return {
		plugins: [
			react(),
			eslintPlugin({
				include: ['src/**/*.js', 'src/**/*.vue', 'src/*.js', 'src/*.vue'],
			}),
		],
		resolve: {
			alias: {
				'@': path.resolve(__dirname, './src'),
			},
		},
		server: {
			cors: true, // 默认启用并允许任何源
			open: true, // 在服务器启动时自动在浏览器中打开应用程序
			port: env.VITE_APP_PORT,
			proxy: {
				// 本地开发环境通过代理实现跨域，生产环境使用 nginx 转发
				'/api': {
					target: env.VITE_APP_API_BASEURL, // target: 'http://172.20.137.175:8080', 通过代理接口访问实际地址。这里是实际访问的地址。vue会通过代理服务器来代理请求
					changeOrigin: true,
					ws: true, // 允许websocket代理
					rewrite: (path) => path.replace(/^\/api/, ''), // 将api替换为空
				},
			},
		},
	}
})
